package org.usp.poli.bipt.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import org.usp.poli.bipt.client.metadata.*;
import org.usp.poli.bipt.server.bd.MetaDataBD;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	void greetServer(String input, AsyncCallback<String> callback)
			throws IllegalArgumentException;
	void setDarwinCore(String input, AsyncCallback<String> callback)
			throws IllegalArgumentException;
	void setBasicMetaData(MetaData data,
			AsyncCallback<String> asyncCallback);
	void setGeographicCoverage(GeographicCoverage data, String key,
			AsyncCallback<String> asyncCallback);
	void login(String userLogin, String userSenha,
			AsyncCallback<Boolean> asyncCallback);
	void setBasicMetadataTypes(BasicMetadataTypes data, String key,
			AsyncCallback<String> asyncCallback);
	void setGeneralKeywords(GeneralKeywords data, String key,
			AsyncCallback<String> asyncCallback);
	void setIPRights(IPRights data, String key,
			AsyncCallback<String> asyncCallback);
	void setMethods(Methods data, String key,
			AsyncCallback<String> asyncCallback);
	void setResearchProject(ResearchProject data, String key,
			AsyncCallback<String> asyncCallback);
	void setResourceOriginator(ResourceOriginator data, String key,
			AsyncCallback<String> asyncCallback);
	void setTaxonomicCoverage(TaxonomicCoverage data, String key,
			AsyncCallback<String> asyncCallback);
	void setTemporalCoverage(TemporalCoverage data, String key,
			AsyncCallback<String> asyncCallback);
	void setLowestCommonTax(LowestCommonTax data, String key,
			AsyncCallback<String> asyncCallback);
	void getCollections(AsyncCallback<List<MetaData>> asyncCallback);
}
